package tools.jackson.module.kotlin.kogeraIntegration.deser.valueClass.parameterSize.twoUnitPrimitive

import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test
import tools.jackson.module.kotlin.assertReflectEquals
import tools.jackson.module.kotlin.defaultMapper
import tools.jackson.module.kotlin.kogeraIntegration.deser.valueClass.TwoUnitPrimitive
import tools.jackson.module.kotlin.readValue

/**
 * Up to argument size 32 there is one mask argument for the default argument,
 * 33 ~ 64 there are two, and 65 there are three, so each boundary value is tested.
 * Also, if the default argument is set, the maximum argument size that can be set in the constructor is 124,
 * so that case is tested as well.
 */
class DeserializeByConstructorWithDefaultArgumentsTest {
    data class Dst32(
        val p00: TwoUnitPrimitive = TwoUnitPrimitive(0),
        val p01: TwoUnitPrimitive = TwoUnitPrimitive(1),
        val p02: TwoUnitPrimitive = TwoUnitPrimitive(2),
        val p03: TwoUnitPrimitive = TwoUnitPrimitive(3),
        val p04: TwoUnitPrimitive = TwoUnitPrimitive(4),
        val p05: TwoUnitPrimitive = TwoUnitPrimitive(5),
        val p06: TwoUnitPrimitive = TwoUnitPrimitive(6),
        val p07: TwoUnitPrimitive = TwoUnitPrimitive(7),
        val p08: TwoUnitPrimitive = TwoUnitPrimitive(8),
        val p09: TwoUnitPrimitive = TwoUnitPrimitive(9),
        val p10: TwoUnitPrimitive = TwoUnitPrimitive(10),
        val p11: TwoUnitPrimitive = TwoUnitPrimitive(11),
        val p12: TwoUnitPrimitive = TwoUnitPrimitive(12),
        val p13: TwoUnitPrimitive = TwoUnitPrimitive(13),
        val p14: TwoUnitPrimitive = TwoUnitPrimitive(14),
        val p15: TwoUnitPrimitive = TwoUnitPrimitive(15),
        val p16: TwoUnitPrimitive = TwoUnitPrimitive(16),
        val p17: TwoUnitPrimitive = TwoUnitPrimitive(17),
        val p18: TwoUnitPrimitive = TwoUnitPrimitive(18),
        val p19: TwoUnitPrimitive = TwoUnitPrimitive(19),
        val p20: TwoUnitPrimitive = TwoUnitPrimitive(20),
        val p21: TwoUnitPrimitive = TwoUnitPrimitive(21),
        val p22: TwoUnitPrimitive = TwoUnitPrimitive(22),
        val p23: TwoUnitPrimitive = TwoUnitPrimitive(23),
        val p24: TwoUnitPrimitive = TwoUnitPrimitive(24),
        val p25: TwoUnitPrimitive = TwoUnitPrimitive(25),
        val p26: TwoUnitPrimitive = TwoUnitPrimitive(26),
        val p27: TwoUnitPrimitive = TwoUnitPrimitive(27),
        val p28: TwoUnitPrimitive = TwoUnitPrimitive(28),
        val p29: TwoUnitPrimitive = TwoUnitPrimitive(29),
        val p30: TwoUnitPrimitive = TwoUnitPrimitive(30),
        val p31: TwoUnitPrimitive = TwoUnitPrimitive(31)
    )

    @Test
    fun test32() {
        Assertions.assertEquals(Dst32(), defaultMapper.readValue<Dst32>("{}"))
    }

    data class Dst33(
        val p00: TwoUnitPrimitive = TwoUnitPrimitive(0),
        val p01: TwoUnitPrimitive = TwoUnitPrimitive(1),
        val p02: TwoUnitPrimitive = TwoUnitPrimitive(2),
        val p03: TwoUnitPrimitive = TwoUnitPrimitive(3),
        val p04: TwoUnitPrimitive = TwoUnitPrimitive(4),
        val p05: TwoUnitPrimitive = TwoUnitPrimitive(5),
        val p06: TwoUnitPrimitive = TwoUnitPrimitive(6),
        val p07: TwoUnitPrimitive = TwoUnitPrimitive(7),
        val p08: TwoUnitPrimitive = TwoUnitPrimitive(8),
        val p09: TwoUnitPrimitive = TwoUnitPrimitive(9),
        val p10: TwoUnitPrimitive = TwoUnitPrimitive(10),
        val p11: TwoUnitPrimitive = TwoUnitPrimitive(11),
        val p12: TwoUnitPrimitive = TwoUnitPrimitive(12),
        val p13: TwoUnitPrimitive = TwoUnitPrimitive(13),
        val p14: TwoUnitPrimitive = TwoUnitPrimitive(14),
        val p15: TwoUnitPrimitive = TwoUnitPrimitive(15),
        val p16: TwoUnitPrimitive = TwoUnitPrimitive(16),
        val p17: TwoUnitPrimitive = TwoUnitPrimitive(17),
        val p18: TwoUnitPrimitive = TwoUnitPrimitive(18),
        val p19: TwoUnitPrimitive = TwoUnitPrimitive(19),
        val p20: TwoUnitPrimitive = TwoUnitPrimitive(20),
        val p21: TwoUnitPrimitive = TwoUnitPrimitive(21),
        val p22: TwoUnitPrimitive = TwoUnitPrimitive(22),
        val p23: TwoUnitPrimitive = TwoUnitPrimitive(23),
        val p24: TwoUnitPrimitive = TwoUnitPrimitive(24),
        val p25: TwoUnitPrimitive = TwoUnitPrimitive(25),
        val p26: TwoUnitPrimitive = TwoUnitPrimitive(26),
        val p27: TwoUnitPrimitive = TwoUnitPrimitive(27),
        val p28: TwoUnitPrimitive = TwoUnitPrimitive(28),
        val p29: TwoUnitPrimitive = TwoUnitPrimitive(29),
        val p30: TwoUnitPrimitive = TwoUnitPrimitive(30),
        val p31: TwoUnitPrimitive = TwoUnitPrimitive(31),
        val p32: TwoUnitPrimitive = TwoUnitPrimitive(32)
    )

    @Test
    fun test33() {
        Assertions.assertEquals(Dst33(), defaultMapper.readValue<Dst33>("{}"))
    }

    data class Dst64(
        val p00: TwoUnitPrimitive = TwoUnitPrimitive(0),
        val p01: TwoUnitPrimitive = TwoUnitPrimitive(1),
        val p02: TwoUnitPrimitive = TwoUnitPrimitive(2),
        val p03: TwoUnitPrimitive = TwoUnitPrimitive(3),
        val p04: TwoUnitPrimitive = TwoUnitPrimitive(4),
        val p05: TwoUnitPrimitive = TwoUnitPrimitive(5),
        val p06: TwoUnitPrimitive = TwoUnitPrimitive(6),
        val p07: TwoUnitPrimitive = TwoUnitPrimitive(7),
        val p08: TwoUnitPrimitive = TwoUnitPrimitive(8),
        val p09: TwoUnitPrimitive = TwoUnitPrimitive(9),
        val p10: TwoUnitPrimitive = TwoUnitPrimitive(10),
        val p11: TwoUnitPrimitive = TwoUnitPrimitive(11),
        val p12: TwoUnitPrimitive = TwoUnitPrimitive(12),
        val p13: TwoUnitPrimitive = TwoUnitPrimitive(13),
        val p14: TwoUnitPrimitive = TwoUnitPrimitive(14),
        val p15: TwoUnitPrimitive = TwoUnitPrimitive(15),
        val p16: TwoUnitPrimitive = TwoUnitPrimitive(16),
        val p17: TwoUnitPrimitive = TwoUnitPrimitive(17),
        val p18: TwoUnitPrimitive = TwoUnitPrimitive(18),
        val p19: TwoUnitPrimitive = TwoUnitPrimitive(19),
        val p20: TwoUnitPrimitive = TwoUnitPrimitive(20),
        val p21: TwoUnitPrimitive = TwoUnitPrimitive(21),
        val p22: TwoUnitPrimitive = TwoUnitPrimitive(22),
        val p23: TwoUnitPrimitive = TwoUnitPrimitive(23),
        val p24: TwoUnitPrimitive = TwoUnitPrimitive(24),
        val p25: TwoUnitPrimitive = TwoUnitPrimitive(25),
        val p26: TwoUnitPrimitive = TwoUnitPrimitive(26),
        val p27: TwoUnitPrimitive = TwoUnitPrimitive(27),
        val p28: TwoUnitPrimitive = TwoUnitPrimitive(28),
        val p29: TwoUnitPrimitive = TwoUnitPrimitive(29),
        val p30: TwoUnitPrimitive = TwoUnitPrimitive(30),
        val p31: TwoUnitPrimitive = TwoUnitPrimitive(31),
        val p32: TwoUnitPrimitive = TwoUnitPrimitive(32),
        val p33: TwoUnitPrimitive = TwoUnitPrimitive(33),
        val p34: TwoUnitPrimitive = TwoUnitPrimitive(34),
        val p35: TwoUnitPrimitive = TwoUnitPrimitive(35),
        val p36: TwoUnitPrimitive = TwoUnitPrimitive(36),
        val p37: TwoUnitPrimitive = TwoUnitPrimitive(37),
        val p38: TwoUnitPrimitive = TwoUnitPrimitive(38),
        val p39: TwoUnitPrimitive = TwoUnitPrimitive(39),
        val p40: TwoUnitPrimitive = TwoUnitPrimitive(40),
        val p41: TwoUnitPrimitive = TwoUnitPrimitive(41),
        val p42: TwoUnitPrimitive = TwoUnitPrimitive(42),
        val p43: TwoUnitPrimitive = TwoUnitPrimitive(43),
        val p44: TwoUnitPrimitive = TwoUnitPrimitive(44),
        val p45: TwoUnitPrimitive = TwoUnitPrimitive(45),
        val p46: TwoUnitPrimitive = TwoUnitPrimitive(46),
        val p47: TwoUnitPrimitive = TwoUnitPrimitive(47),
        val p48: TwoUnitPrimitive = TwoUnitPrimitive(48),
        val p49: TwoUnitPrimitive = TwoUnitPrimitive(49),
        val p50: TwoUnitPrimitive = TwoUnitPrimitive(50),
        val p51: TwoUnitPrimitive = TwoUnitPrimitive(51),
        val p52: TwoUnitPrimitive = TwoUnitPrimitive(52),
        val p53: TwoUnitPrimitive = TwoUnitPrimitive(53),
        val p54: TwoUnitPrimitive = TwoUnitPrimitive(54),
        val p55: TwoUnitPrimitive = TwoUnitPrimitive(55),
        val p56: TwoUnitPrimitive = TwoUnitPrimitive(56),
        val p57: TwoUnitPrimitive = TwoUnitPrimitive(57),
        val p58: TwoUnitPrimitive = TwoUnitPrimitive(58),
        val p59: TwoUnitPrimitive = TwoUnitPrimitive(59),
        val p60: TwoUnitPrimitive = TwoUnitPrimitive(60),
        val p61: TwoUnitPrimitive = TwoUnitPrimitive(61),
        val p62: TwoUnitPrimitive = TwoUnitPrimitive(62),
        val p63: TwoUnitPrimitive = TwoUnitPrimitive(63)
    )

    @Test
    fun test64() {
        Assertions.assertEquals(Dst64(), defaultMapper.readValue<Dst64>("{}"))
    }

    data class Dst65(
        val p00: TwoUnitPrimitive = TwoUnitPrimitive(0),
        val p01: TwoUnitPrimitive = TwoUnitPrimitive(1),
        val p02: TwoUnitPrimitive = TwoUnitPrimitive(2),
        val p03: TwoUnitPrimitive = TwoUnitPrimitive(3),
        val p04: TwoUnitPrimitive = TwoUnitPrimitive(4),
        val p05: TwoUnitPrimitive = TwoUnitPrimitive(5),
        val p06: TwoUnitPrimitive = TwoUnitPrimitive(6),
        val p07: TwoUnitPrimitive = TwoUnitPrimitive(7),
        val p08: TwoUnitPrimitive = TwoUnitPrimitive(8),
        val p09: TwoUnitPrimitive = TwoUnitPrimitive(9),
        val p10: TwoUnitPrimitive = TwoUnitPrimitive(10),
        val p11: TwoUnitPrimitive = TwoUnitPrimitive(11),
        val p12: TwoUnitPrimitive = TwoUnitPrimitive(12),
        val p13: TwoUnitPrimitive = TwoUnitPrimitive(13),
        val p14: TwoUnitPrimitive = TwoUnitPrimitive(14),
        val p15: TwoUnitPrimitive = TwoUnitPrimitive(15),
        val p16: TwoUnitPrimitive = TwoUnitPrimitive(16),
        val p17: TwoUnitPrimitive = TwoUnitPrimitive(17),
        val p18: TwoUnitPrimitive = TwoUnitPrimitive(18),
        val p19: TwoUnitPrimitive = TwoUnitPrimitive(19),
        val p20: TwoUnitPrimitive = TwoUnitPrimitive(20),
        val p21: TwoUnitPrimitive = TwoUnitPrimitive(21),
        val p22: TwoUnitPrimitive = TwoUnitPrimitive(22),
        val p23: TwoUnitPrimitive = TwoUnitPrimitive(23),
        val p24: TwoUnitPrimitive = TwoUnitPrimitive(24),
        val p25: TwoUnitPrimitive = TwoUnitPrimitive(25),
        val p26: TwoUnitPrimitive = TwoUnitPrimitive(26),
        val p27: TwoUnitPrimitive = TwoUnitPrimitive(27),
        val p28: TwoUnitPrimitive = TwoUnitPrimitive(28),
        val p29: TwoUnitPrimitive = TwoUnitPrimitive(29),
        val p30: TwoUnitPrimitive = TwoUnitPrimitive(30),
        val p31: TwoUnitPrimitive = TwoUnitPrimitive(31),
        val p32: TwoUnitPrimitive = TwoUnitPrimitive(32),
        val p33: TwoUnitPrimitive = TwoUnitPrimitive(33),
        val p34: TwoUnitPrimitive = TwoUnitPrimitive(34),
        val p35: TwoUnitPrimitive = TwoUnitPrimitive(35),
        val p36: TwoUnitPrimitive = TwoUnitPrimitive(36),
        val p37: TwoUnitPrimitive = TwoUnitPrimitive(37),
        val p38: TwoUnitPrimitive = TwoUnitPrimitive(38),
        val p39: TwoUnitPrimitive = TwoUnitPrimitive(39),
        val p40: TwoUnitPrimitive = TwoUnitPrimitive(40),
        val p41: TwoUnitPrimitive = TwoUnitPrimitive(41),
        val p42: TwoUnitPrimitive = TwoUnitPrimitive(42),
        val p43: TwoUnitPrimitive = TwoUnitPrimitive(43),
        val p44: TwoUnitPrimitive = TwoUnitPrimitive(44),
        val p45: TwoUnitPrimitive = TwoUnitPrimitive(45),
        val p46: TwoUnitPrimitive = TwoUnitPrimitive(46),
        val p47: TwoUnitPrimitive = TwoUnitPrimitive(47),
        val p48: TwoUnitPrimitive = TwoUnitPrimitive(48),
        val p49: TwoUnitPrimitive = TwoUnitPrimitive(49),
        val p50: TwoUnitPrimitive = TwoUnitPrimitive(50),
        val p51: TwoUnitPrimitive = TwoUnitPrimitive(51),
        val p52: TwoUnitPrimitive = TwoUnitPrimitive(52),
        val p53: TwoUnitPrimitive = TwoUnitPrimitive(53),
        val p54: TwoUnitPrimitive = TwoUnitPrimitive(54),
        val p55: TwoUnitPrimitive = TwoUnitPrimitive(55),
        val p56: TwoUnitPrimitive = TwoUnitPrimitive(56),
        val p57: TwoUnitPrimitive = TwoUnitPrimitive(57),
        val p58: TwoUnitPrimitive = TwoUnitPrimitive(58),
        val p59: TwoUnitPrimitive = TwoUnitPrimitive(59),
        val p60: TwoUnitPrimitive = TwoUnitPrimitive(60),
        val p61: TwoUnitPrimitive = TwoUnitPrimitive(61),
        val p62: TwoUnitPrimitive = TwoUnitPrimitive(62),
        val p63: TwoUnitPrimitive = TwoUnitPrimitive(63),
        val p64: TwoUnitPrimitive = TwoUnitPrimitive(64)
    )

    @Test
    fun test65() {
        Assertions.assertEquals(Dst65(), defaultMapper.readValue<Dst65>("{}"))
    }

    // It cannot be a data class because the generated method would exceed the argument size limit.
    class DstMax(
        val p000: TwoUnitPrimitive = TwoUnitPrimitive(0),
        val p001: TwoUnitPrimitive = TwoUnitPrimitive(1),
        val p002: TwoUnitPrimitive = TwoUnitPrimitive(2),
        val p003: TwoUnitPrimitive = TwoUnitPrimitive(3),
        val p004: TwoUnitPrimitive = TwoUnitPrimitive(4),
        val p005: TwoUnitPrimitive = TwoUnitPrimitive(5),
        val p006: TwoUnitPrimitive = TwoUnitPrimitive(6),
        val p007: TwoUnitPrimitive = TwoUnitPrimitive(7),
        val p008: TwoUnitPrimitive = TwoUnitPrimitive(8),
        val p009: TwoUnitPrimitive = TwoUnitPrimitive(9),
        val p010: TwoUnitPrimitive = TwoUnitPrimitive(10),
        val p011: TwoUnitPrimitive = TwoUnitPrimitive(11),
        val p012: TwoUnitPrimitive = TwoUnitPrimitive(12),
        val p013: TwoUnitPrimitive = TwoUnitPrimitive(13),
        val p014: TwoUnitPrimitive = TwoUnitPrimitive(14),
        val p015: TwoUnitPrimitive = TwoUnitPrimitive(15),
        val p016: TwoUnitPrimitive = TwoUnitPrimitive(16),
        val p017: TwoUnitPrimitive = TwoUnitPrimitive(17),
        val p018: TwoUnitPrimitive = TwoUnitPrimitive(18),
        val p019: TwoUnitPrimitive = TwoUnitPrimitive(19),
        val p020: TwoUnitPrimitive = TwoUnitPrimitive(20),
        val p021: TwoUnitPrimitive = TwoUnitPrimitive(21),
        val p022: TwoUnitPrimitive = TwoUnitPrimitive(22),
        val p023: TwoUnitPrimitive = TwoUnitPrimitive(23),
        val p024: TwoUnitPrimitive = TwoUnitPrimitive(24),
        val p025: TwoUnitPrimitive = TwoUnitPrimitive(25),
        val p026: TwoUnitPrimitive = TwoUnitPrimitive(26),
        val p027: TwoUnitPrimitive = TwoUnitPrimitive(27),
        val p028: TwoUnitPrimitive = TwoUnitPrimitive(28),
        val p029: TwoUnitPrimitive = TwoUnitPrimitive(29),
        val p030: TwoUnitPrimitive = TwoUnitPrimitive(30),
        val p031: TwoUnitPrimitive = TwoUnitPrimitive(31),
        val p032: TwoUnitPrimitive = TwoUnitPrimitive(32),
        val p033: TwoUnitPrimitive = TwoUnitPrimitive(33),
        val p034: TwoUnitPrimitive = TwoUnitPrimitive(34),
        val p035: TwoUnitPrimitive = TwoUnitPrimitive(35),
        val p036: TwoUnitPrimitive = TwoUnitPrimitive(36),
        val p037: TwoUnitPrimitive = TwoUnitPrimitive(37),
        val p038: TwoUnitPrimitive = TwoUnitPrimitive(38),
        val p039: TwoUnitPrimitive = TwoUnitPrimitive(39),
        val p040: TwoUnitPrimitive = TwoUnitPrimitive(40),
        val p041: TwoUnitPrimitive = TwoUnitPrimitive(41),
        val p042: TwoUnitPrimitive = TwoUnitPrimitive(42),
        val p043: TwoUnitPrimitive = TwoUnitPrimitive(43),
        val p044: TwoUnitPrimitive = TwoUnitPrimitive(44),
        val p045: TwoUnitPrimitive = TwoUnitPrimitive(45),
        val p046: TwoUnitPrimitive = TwoUnitPrimitive(46),
        val p047: TwoUnitPrimitive = TwoUnitPrimitive(47),
        val p048: TwoUnitPrimitive = TwoUnitPrimitive(48),
        val p049: TwoUnitPrimitive = TwoUnitPrimitive(49),
        val p050: TwoUnitPrimitive = TwoUnitPrimitive(50),
        val p051: TwoUnitPrimitive = TwoUnitPrimitive(51),
        val p052: TwoUnitPrimitive = TwoUnitPrimitive(52),
        val p053: TwoUnitPrimitive = TwoUnitPrimitive(53),
        val p054: TwoUnitPrimitive = TwoUnitPrimitive(54),
        val p055: TwoUnitPrimitive = TwoUnitPrimitive(55),
        val p056: TwoUnitPrimitive = TwoUnitPrimitive(56),
        val p057: TwoUnitPrimitive = TwoUnitPrimitive(57),
        val p058: TwoUnitPrimitive = TwoUnitPrimitive(58),
        val p059: TwoUnitPrimitive = TwoUnitPrimitive(59),
        val p060: TwoUnitPrimitive = TwoUnitPrimitive(60),
        val p061: TwoUnitPrimitive = TwoUnitPrimitive(61),
        val p062: TwoUnitPrimitive = TwoUnitPrimitive(62),
        val p063: TwoUnitPrimitive = TwoUnitPrimitive(63),
        val p064: TwoUnitPrimitive = TwoUnitPrimitive(64),
        val p065: TwoUnitPrimitive = TwoUnitPrimitive(65),
        val p066: TwoUnitPrimitive = TwoUnitPrimitive(66),
        val p067: TwoUnitPrimitive = TwoUnitPrimitive(67),
        val p068: TwoUnitPrimitive = TwoUnitPrimitive(68),
        val p069: TwoUnitPrimitive = TwoUnitPrimitive(69),
        val p070: TwoUnitPrimitive = TwoUnitPrimitive(70),
        val p071: TwoUnitPrimitive = TwoUnitPrimitive(71),
        val p072: TwoUnitPrimitive = TwoUnitPrimitive(72),
        val p073: TwoUnitPrimitive = TwoUnitPrimitive(73),
        val p074: TwoUnitPrimitive = TwoUnitPrimitive(74),
        val p075: TwoUnitPrimitive = TwoUnitPrimitive(75),
        val p076: TwoUnitPrimitive = TwoUnitPrimitive(76),
        val p077: TwoUnitPrimitive = TwoUnitPrimitive(77),
        val p078: TwoUnitPrimitive = TwoUnitPrimitive(78),
        val p079: TwoUnitPrimitive = TwoUnitPrimitive(79),
        val p080: TwoUnitPrimitive = TwoUnitPrimitive(80),
        val p081: TwoUnitPrimitive = TwoUnitPrimitive(81),
        val p082: TwoUnitPrimitive = TwoUnitPrimitive(82),
        val p083: TwoUnitPrimitive = TwoUnitPrimitive(83),
        val p084: TwoUnitPrimitive = TwoUnitPrimitive(84),
        val p085: TwoUnitPrimitive = TwoUnitPrimitive(85),
        val p086: TwoUnitPrimitive = TwoUnitPrimitive(86),
        val p087: TwoUnitPrimitive = TwoUnitPrimitive(87),
        val p088: TwoUnitPrimitive = TwoUnitPrimitive(88),
        val p089: TwoUnitPrimitive = TwoUnitPrimitive(89),
        val p090: TwoUnitPrimitive = TwoUnitPrimitive(90),
        val p091: TwoUnitPrimitive = TwoUnitPrimitive(91),
        val p092: TwoUnitPrimitive = TwoUnitPrimitive(92),
        val p093: TwoUnitPrimitive = TwoUnitPrimitive(93),
        val p094: TwoUnitPrimitive = TwoUnitPrimitive(94),
        val p095: TwoUnitPrimitive = TwoUnitPrimitive(95),
        val p096: TwoUnitPrimitive = TwoUnitPrimitive(96),
        val p097: TwoUnitPrimitive = TwoUnitPrimitive(97),
        val p098: TwoUnitPrimitive = TwoUnitPrimitive(98),
        val p099: TwoUnitPrimitive = TwoUnitPrimitive(99),
        val p100: TwoUnitPrimitive = TwoUnitPrimitive(100),
        val p101: TwoUnitPrimitive = TwoUnitPrimitive(101),
        val p102: TwoUnitPrimitive = TwoUnitPrimitive(102),
        val p103: TwoUnitPrimitive = TwoUnitPrimitive(103),
        val p104: TwoUnitPrimitive = TwoUnitPrimitive(104),
        val p105: TwoUnitPrimitive = TwoUnitPrimitive(105),
        val p106: TwoUnitPrimitive = TwoUnitPrimitive(106),
        val p107: TwoUnitPrimitive = TwoUnitPrimitive(107),
        val p108: TwoUnitPrimitive = TwoUnitPrimitive(108),
        val p109: TwoUnitPrimitive = TwoUnitPrimitive(109),
        val p110: TwoUnitPrimitive = TwoUnitPrimitive(110),
        val p111: TwoUnitPrimitive = TwoUnitPrimitive(111),
        val p112: TwoUnitPrimitive = TwoUnitPrimitive(112),
        val p113: TwoUnitPrimitive = TwoUnitPrimitive(113),
        val p114: TwoUnitPrimitive = TwoUnitPrimitive(114),
        val p115: TwoUnitPrimitive = TwoUnitPrimitive(115),
        val p116: TwoUnitPrimitive = TwoUnitPrimitive(116),
        val p117: TwoUnitPrimitive = TwoUnitPrimitive(117),
        val p118: TwoUnitPrimitive = TwoUnitPrimitive(118),
        val p119: TwoUnitPrimitive = TwoUnitPrimitive(119),
        val p120: TwoUnitPrimitive = TwoUnitPrimitive(120),
        val p121: TwoUnitPrimitive = TwoUnitPrimitive(121),
        val p122: TwoUnitPrimitive = TwoUnitPrimitive(122),
        val p123: TwoUnitPrimitive = TwoUnitPrimitive(123)
    )

    @Test
    fun testMax() {
        assertReflectEquals(DstMax(), defaultMapper.readValue<DstMax>("{}"))
    }
}
